home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d20 / msgq160s.arc / EDITMAIL.H < prev    next >
C/C++ Source or Header  |  1991-10-26  |  6KB  |  141 lines

  1. /*
  2.  * EDITMAIL.H - Editing tables
  3.  *
  4.  * Msged/Q message editor for QuickBBS  Copyright 1990 by P.J. Muller
  5.  *
  6.  */
  7.  
  8. void backspace(void);
  9. void delete_character(void);
  10. void go_left(void);
  11. void go_right(void);
  12. void go_word_right(void);
  13. void go_word_left(void);
  14. void newline(void);
  15. void go_up(void);
  16. void go_down(void);
  17. void go_pgup(void);
  18. void go_pgdown(void);
  19. void delete_line(void);
  20. void go_eol(void);
  21. void cut(void);
  22. void paste(void);
  23. void anchor(void);
  24. void quit(void);
  25. void die(void);
  26. void imptxt(void);
  27. void outtext(void);
  28. void shellos(void);
  29. void go_bol(void);
  30. void format(void);
  31. void toggle_ins(void);
  32. void tabit(void);
  33. void go_tos(void);
  34. void go_bos(void);
  35. void go_bom(void);
  36. void go_tom(void);
  37. void killeol(void);
  38.  
  39. #ifndef EDITMAIL
  40. extern void (*editckeys[])(void);
  41. extern void (*editakeys[])(void);
  42. extern struct _command editcmds[];
  43. #else
  44.  
  45. /* table of normal keystrokes */
  46.  
  47. void (*editckeys[256])(void) =
  48. {
  49. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /*  0 */
  50. backspace,tabit,NULL,    NULL,    NULL,    newline,NULL,    NULL, /*  8 */
  51. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 10 */
  52. NULL,    NULL,    NULL,    die,    NULL,    NULL,    NULL,    NULL, /* 18 */
  53. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 20 */
  54. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 28 */
  55. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 30 */
  56. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 38 */
  57. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 40 */
  58. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 48 */
  59. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 50 */
  60. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 58 */
  61. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 60 */
  62. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 68 */
  63. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 70 */
  64. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    backspace, /* 78 */
  65. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 80 */
  66. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 88 */
  67. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 90 */
  68. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 98 */
  69. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* A0 */
  70. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* A8 */
  71. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* B0 */
  72. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* B8 */
  73. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* C0 */
  74. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* C8 */
  75. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* D0 */
  76. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* D8 */
  77. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* E0 */
  78. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* E8 */
  79. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* F0 */
  80. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL  /* F8 */
  81. };
  82.  
  83. /* table of extended keystrokes */
  84.  
  85. void (*editakeys[])(void) =
  86. {
  87. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /*  0 */
  88. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /*  8 */
  89. NULL,    outtext,NULL,    NULL,    NULL,    NULL,    NULL,    imptxt,/* 10 */
  90. shellos,paste,    NULL,    NULL,    NULL,    NULL,    anchor, quit, /* 18 */
  91. delete_line,format,NULL,helped,    NULL,    killeol,NULL,    NULL, /* 20 */
  92. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    cut,    NULL, /* 28 */
  93. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 30 */
  94. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 38 */
  95. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    go_bol, /* 40 */
  96. go_up,    go_pgup,NULL,    go_left,NULL,    go_right,NULL,    go_eol, /* 48 */
  97. go_down,go_pgdown,toggle_ins,delete_character,NULL,NULL,NULL,NULL, /* 50 */
  98. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 58 */
  99. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 60 */
  100. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 68 */
  101. NULL,NULL,NULL,go_word_left,go_word_right,go_bom,go_bos, go_tom,/* 70 */
  102. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 78 */
  103. NULL,    NULL,    NULL,    NULL,    go_tos, NULL,    NULL,    NULL, /* 80 */
  104. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 88 */
  105. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 90 */
  106. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* 98 */
  107. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* A0 */
  108. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* A8 */
  109. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* B0 */
  110. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* B8 */
  111. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* C0 */
  112. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* C8 */
  113. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* D0 */
  114. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* D8 */
  115. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* E0 */
  116. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* E8 */
  117. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL, /* F0 */
  118. NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL,    NULL  /* F8 */
  119. };
  120.  
  121. struct _command editcmds[] = {
  122.     {"backspace",backspace},    {"deleol",killeol},
  123.     {"left",go_left},        {"right",go_right},
  124.     {"wordright",go_word_right},    {"wordleft",go_word_left},
  125.     {"newline",newline},        {"up",go_up},
  126.     {"down",go_down},        {"pgup",go_pgup},
  127.     {"pgdn",go_pgdown},        {"delline",delete_line},
  128.     {"goeol",go_eol},        {"cut",cut},
  129.     {"anchor",anchor},        {"paste",paste},
  130.     {"quit",quit},            {"abort",die},
  131.     {"import",imptxt},        {"export",outtext},
  132.     {"shell",shellos},        {"gobol",go_bol},
  133.     {"format",format},        {"insert",toggle_ins},
  134.     {"tab",tabit},            {"null",NULL},
  135.     {"top",go_tos},         {"bottom",go_bos},
  136.     {"first",go_tom},        {"last",go_bom},
  137.     {"del",delete_character},    {"edhelp",helped},
  138.     {NULL,NULL}
  139. };
  140. #endif
  141.